2009/02/22

在 G1 上卜卦


拿到 G1 之後,隔了一陣子才有空開始到 Android 下載各式各樣的應用程式來玩,除了更完整的瞭解 G1 所具備的功能之外,也順便觀摩其他人能拿這些功能發揮什麼樣的創意。

要展現 G1 的硬體功能,我個人是挺喜歡 Tricorder 這個程式的(well, 我承認我是個 Star Trek fan....),它把 G1 上的各種 sensor data 一起呈現出來,包括機身平衡,GSM、GPS、Wi-Fi、Bluetooth 等訊號的強度等等,就可惜差了 multi-touch

有了這些資料,也開始考慮著要在上面開發怎樣的應用。

由於 G1 有平衡感應器,可以偵測手機的傾斜角度,模擬抽籤、擲骰子的動作,所以直覺的就想到來「卜一卦」好了:讓使用者拿手機搖六次當作丟銅板,就出來一個卦了。

接著去查了易占的文獻,才發現事情沒這麼簡單:除了「陰」、「陽」還各分「老」、「少」之外,機率還不是一樣的,而機率分佈因不同流派的占卜方法又有不同。此外,我一直以為占卜的程序是由機率決定卦象,然後再由卦象中詮釋到所問的事物上,但其實也有反過的起卦方法:由所問事物的陰陽五行起卦,然後再由卦辭來推斷所問事物的動向與吉凶,這就有點像是「測字」的感覺了。

我慢慢發現這裡面的細節發現是越看越多,好像沒有終點。想想也對,五千年來這麼多人閒來無事就在裡面加個花樣,或是多提一種詮釋,我真要去一樣一樣弄明白,恐怕也得數十年功夫,那還是就從最基本的開始吧。

目前預設的起卦方式是漢朝以降的「金錢卦」:丟三次銅板決定一個陰陽,多數決,若三擲全為同一面者屬「老」,在變卦中要陰陽互換。總共六三一十八擲起一個卦。目前已經寫好卜卦和列出結果的部份,至於卜卦的 random seed 怎樣跟 balance sensor 整合則還在查 Android Documentation,而用圖形顯示卦象的方法也還在研究當中。

另一個問題,是卜完卦之後,通常要一點解釋才行,把這一大堆文字放進去,其實也得花不少功夫。我在網路上可以找到經、篆、象的全文,但是這些通常是有看沒有懂;而現代的詮釋,通常都有著作權的問題。這樣看來我是非得花個二十年把這些東西搞懂,才能把它 open source 吧?(當然啦,對著作權的擁有者來說,這也是個收費服務的切入點)

附記:我在 implement 的過程中,把易經占卜的部份獨立成一個 java package,然後 import 到 android application 中使用,所以到時候這個 package 也可以用在其他的平台上。

沒有留言: